package com.ruoyi.web.mapper.category;


import com.ruoyi.web.domain.category.Category;
import com.ruoyi.web.domain.category.Type;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 一级分类tt_typeMapper接口
 * 
 * @author zq
 * @date 2024-01-09
 */
public interface TypeMapper 
{
    /**
     * 查询一级分类tt_type
     * 
     * @param id 一级分类tt_type主键
     * @return 一级分类tt_type
     */
    public Type selectTypeById(@Param("id") String id,@Param("userId") Long userId);
    public Type selectById(@Param("id") String id);
    public Type selectByTypeId(@Param("id") String id);

    /**
     * 查询一级分类tt_type列表
     * 
     * @param type 一级分类tt_type
     * @return 一级分类tt_type集合
     */
    public List<Type> selectTypeList(Type type);

    /**
     * 新增一级分类tt_type
     * 
     * @param type 一级分类tt_type
     * @return 结果
     */
    public int insertType(Type type);

    /**
     * 修改一级分类tt_type
     * 
     * @param type 一级分类tt_type
     * @return 结果
     */
    public int updateType(Type type);

    /**
     * 删除一级分类tt_type
     * 
     * @param id 一级分类tt_type主键
     * @return 结果
     */
    public int deleteTypeById(String id);

    /**
     * 批量删除一级分类tt_type
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTypeByIds(String[] ids);

    /**
     * 批量删除分类管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCategoryByPids(String[] ids);
    
    /**
     * 批量新增分类管理
     * 
     * @param categoryList 分类管理列表
     * @return 结果
     */
    public int batchCategory(List<Category> categoryList);
    

    /**
     * 通过一级分类tt_type主键删除分类管理信息
     * 
     * @param id 一级分类tt_typeID
     * @return 结果
     */
    public int deleteCategoryByPid(String id);

    int deleteIncomeExpenseByTypeIds(@Param("array") String[] ids,@Param("userId") Long userId);
}
